<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: ComponentsAttributes.cs File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_components_attributes_8cs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">ComponentsAttributes.cs File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a href="_components_attributes_8cs_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_declaration.html">SystemSharp.Components.RewriteDeclaration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is attached to an interface, struct or class, it instructs the model analysis to treat any field, property or local variable of that particular type in a special way when found inside a component.  <a href="class_system_sharp_1_1_components_1_1_rewrite_declaration.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_property_declaration.html">SystemSharp.Components.RewritePropertyDeclaration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is attached to an interface, struct or class, it instructs the model analysis to treat any property of that particular type in a special way when found inside a component.  <a href="class_system_sharp_1_1_components_1_1_rewrite_property_declaration.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_map_to_port.html">SystemSharp.Components.MapToPort</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is attached to any interface, struct or class, it instructs the model analysis to treat any property of that particular type as a port declaration when found inside a component.  <a href="class_system_sharp_1_1_components_1_1_map_to_port.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_call.html">SystemSharp.Components.RewriteCall</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is attached to any method or constructor, it instructs the decompiler to treat any call to that method or constructor in a special way.  <a href="class_system_sharp_1_1_components_1_1_rewrite_call.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_signal_property.html">SystemSharp.Components.SignalProperty</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is attached to a method, it indicates that the method represents a special signal property.  <a href="class_system_sharp_1_1_components_1_1_signal_property.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_signal_field.html">SystemSharp.Components.SignalField</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is attached to an interface or class, it indicates that a field of that particular type represents a signal instance.  <a href="class_system_sharp_1_1_components_1_1_signal_field.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_signal_indexer.html">SystemSharp.Components.SignalIndexer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to getter methods of indexer properties of array-typed signals. It takes care for the decompilation of such method calls, such that they get properly represented inside the <a class="el" href="namespace_system_sharp_1_1_sys_d_o_m.html">SysDOM</a> representation.  <a href="class_system_sharp_1_1_components_1_1_signal_indexer.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_type_conversion.html">SystemSharp.Components.TypeConversion</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute indicates that the tagged method performs a type conversion. Calls to the tagges method will be translated to the SysDOM-intrinsic conversion function during decompilation.  <a href="class_system_sharp_1_1_components_1_1_type_conversion.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html">SystemSharp.Components.MapToIntrinsicFunction</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Any call to the tagged method will be translated to a SysDOM-intrinsic function call during decompilation.  <a href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_function.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_map_to_slice.html">SystemSharp.Components.MapToSlice</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls to the tagged method will be translated to the SysDOM-intrinsic "slice" function during decompilation.  <a href="class_system_sharp_1_1_components_1_1_map_to_slice.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_static_evaluation.html">SystemSharp.Components.StaticEvaluation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute declares a method to be suitable for static evaluation. Non-void methods only.  <a href="class_system_sharp_1_1_components_1_1_static_evaluation.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_assume_not_called.html">SystemSharp.Components.AssumeNotCalled</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute indicates that a method is never called during runtime. If the analysis engine finds a call to the method anyhow, it will throw an exception.  <a href="class_system_sharp_1_1_components_1_1_assume_not_called.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_ignore_on_decompilation.html">SystemSharp.Components.IgnoreOnDecompilation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls to the tagged method will be ignored during decompilation and therefore do not to any <a class="el" href="namespace_system_sharp_1_1_sys_d_o_m.html">SysDOM</a> statement being created. void-typed methods only.  <a href="class_system_sharp_1_1_components_1_1_ignore_on_decompilation.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_static_evaluation_do_not_analyze.html">SystemSharp.Components.StaticEvaluationDoNotAnalyze</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the tagged method should not be analyzed for side effects and moreover be statically evaluated.  <a href="class_system_sharp_1_1_components_1_1_static_evaluation_do_not_analyze.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_argument_declaration.html">SystemSharp.Components.RewriteArgumentDeclaration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to types (class or interface) and indicates that whenever the tagged type appears as a method argument, that argument must be redeclared using a special argument descriptor inside the containing method. This is an abstract class, you have to provide an implementation of <code>ImplementDeclaration</code> inside the derived class.  <a href="class_system_sharp_1_1_components_1_1_rewrite_argument_declaration.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_signal_argument.html">SystemSharp.Components.SignalArgument</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attributes is attached to interface or class declarations and indicates that everytime the type appears as a constructor/method argument, that argument should be declared as a <a class="el" href="namespace_system_sharp_1_1_sys_d_o_m.html">SysDOM</a> <code>SignalArgumentDescriptor</code>.  <a href="class_system_sharp_1_1_components_1_1_signal_argument.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_method_definition.html">SystemSharp.Components.RewriteMethodDefinition</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to method definitions and indicates that the method body is subject to some non-standard decompilation procedure. This is an abstract class. You have to provide an implementation of the <code>Rewrite</code> method inside the derived class.  <a href="class_system_sharp_1_1_components_1_1_rewrite_method_definition.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_map_to_un_op.html">SystemSharp.Components.MapToUnOp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attributes is attached to methods and indicates that calls to the tagged method should be mapped to an intrinsic unary operation expression during decompilation.  <a href="class_system_sharp_1_1_components_1_1_map_to_un_op.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_map_to_bin_op.html">SystemSharp.Components.MapToBinOp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to methods and indicates that calls to the tagged method should be mapped to an intrinsic binary operation expression during decompilation.  <a href="class_system_sharp_1_1_components_1_1_map_to_bin_op.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_type.html">SystemSharp.Components.MapToIntrinsicType</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the tagged class or interface is considered to be <a class="el" href="namespace_system.html">System</a>#-intrinsic type.  <a href="class_system_sharp_1_1_components_1_1_map_to_intrinsic_type.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_auto_conversion.html">SystemSharp.Components.AutoConversion</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to implicit and explicit operators only. It indicates that the tagged operator performs a type conversion.  <a href="class_system_sharp_1_1_components_1_1_auto_conversion.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_port_usage.html">SystemSharp.Components.PortUsage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to port properties and gives a hint on how the tagged port is used.  <a href="class_system_sharp_1_1_components_1_1_port_usage.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_field_access.html">SystemSharp.Components.RewriteFieldAccess</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to either fields or classes. It indicates that a read/write access to the field or tp each field of the tagged type must be rewritten in some user-defined manner during decompilation. This is an abstract class. You must provide an implementation of <code>RewriteRead</code> and <code>RewriteWrite</code> inside the derived class.  <a href="class_system_sharp_1_1_components_1_1_rewrite_field_access.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_model_element.html">SystemSharp.Components.ModelElement</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declares a type (class or interface) or field as model element. Any read access to a model element is transformed to a constant literal. Write accesses to model elements are not allowed.  <a href="class_system_sharp_1_1_components_1_1_model_element.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component_purpose.html">SystemSharp.Components.ComponentPurpose</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declares the purpose of the tagged component.  <a href="class_system_sharp_1_1_components_1_1_component_purpose.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_system_sharp_1_1_components_1_1_i_side_effect_free.html">SystemSharp.Components.ISideEffectFree</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marker interface to tag methods which are free from side effects.  <a href="interface_system_sharp_1_1_components_1_1_i_side_effect_free.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_side_effect_free.html">SystemSharp.Components.SideEffectFree</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the tagged method is free from side effects, i.e. it may be called during analysis and and decompilation without having any unexpected impact on either the system model (i.g. modifying it in some semantics-changing manner) or the platform (i.g. erasing the hard disk).  <a href="class_system_sharp_1_1_components_1_1_side_effect_free.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_system_sharp_1_1_components_1_1_i_do_not_analyze.html">SystemSharp.Components.IDoNotAnalyze</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marker interface for methods which must not be included into system analysis.  <a href="interface_system_sharp_1_1_components_1_1_i_do_not_analyze.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_do_not_analyze.html">SystemSharp.Components.DoNotAnalyze</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the tagged method must not be included into system analysis.  <a href="class_system_sharp_1_1_components_1_1_do_not_analyze.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_system_sharp_1_1_components_1_1_i_do_not_call_on_decompilation.html">SystemSharp.Components.IDoNotCallOnDecompilation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marker interface for methods which must not be called during decompilation.  <a href="interface_system_sharp_1_1_components_1_1_i_do_not_call_on_decompilation.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_do_not_call_on_decompilation.html">SystemSharp.Components.DoNotCallOnDecompilation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the tagged method or constructor must not be called during decompilation.  <a href="class_system_sharp_1_1_components_1_1_do_not_call_on_decompilation.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_redirect_rewrite_call.html">SystemSharp.Components.RedirectRewriteCall</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that calls to the tagged abstract or virtual method should be rewritten during decompilation, whereby the actual rewrite action is provided by the <code><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_call.html" title="If this attribute is attached to any method or constructor, it instructs the decompiler to treat any ...">RewriteCall</a></code> attribute of the overwriting method.  <a href="class_system_sharp_1_1_components_1_1_redirect_rewrite_call.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_simulation_only.html">SystemSharp.Components.SimulationOnly</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the tagged method is only meaningful for system simulation (e.g. text output). Its interpretation depends on the target code generator. For example, it causes the built-in VHDL generator to surround calls to a tagged method with "--synthesis translate_off" / "--synthesis translate_on" comments which are recognized by most hardware synthesis tools.  <a href="class_system_sharp_1_1_components_1_1_simulation_only.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_rewrite_await.html">SystemSharp.Components.RewriteAwait</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute is attached to classes and structs. It indicates that the await pattern for await operation on the tagged type must be implemented in some special way. This is an abstract class. You must provide an implementation of <code>Rewrite</code> inside the derived class.  <a href="class_system_sharp_1_1_components_1_1_rewrite_await.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_dependent_type.html">SystemSharp.Components.DependentType</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the type of the tagged field or property is relevant to determine the <a class="el" href="namespace_system.html">System</a># type of its declaring type.  <a href="class_system_sharp_1_1_components_1_1_dependent_type.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespace_system_sharp_1_1_components"><td class="memItemLeft" align="right" valign="top">package &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_system_sharp_1_1_components.html">SystemSharp.Components</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ad268018ef23fa93dc0631786a118b530"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530">SystemSharp.Components.EPortUsage</a> { <br/>
&#160;&#160;<a class="el" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a7a1920d61156abc05a60135aefe8bc67">SystemSharp.Components.EPortUsage.Default</a>, 
<a class="el" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a98a892aea3359481ae30e7b66c44d7a8">SystemSharp.Components.EPortUsage.Clock</a>, 
<a class="el" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a526d688f37a86d3c3f27d0c5016eb71d">SystemSharp.Components.EPortUsage.Reset</a>, 
<a class="el" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a1b488933c47964ca059d24f978f094e4">SystemSharp.Components.EPortUsage.Operand</a>, 
<br/>
&#160;&#160;<a class="el" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a8eea62084ca7e541d918e823422bd82e">SystemSharp.Components.EPortUsage.Result</a>, 
<a class="el" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a46a2a41cc6e552044816a2d04634545d">SystemSharp.Components.EPortUsage.State</a>
<br/>
 }</td></tr>
<tr class="memdesc:ad268018ef23fa93dc0631786a118b530"><td class="mdescLeft">&#160;</td><td class="mdescRight">Usage class of a port  <a href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530">More...</a><br/></td></tr>
<tr class="separator:ad268018ef23fa93dc0631786a118b530"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de281d1523ed9fa0978891f329163fc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_system_sharp_1_1_components.html#a1de281d1523ed9fa0978891f329163fc">SystemSharp.Components.EComponentPurpose</a> { <a class="el" href="namespace_system_sharp_1_1_components.html#a1de281d1523ed9fa0978891f329163fcaa3b5f34d0efa5308635b68b95b921456">SystemSharp.Components.EComponentPurpose.SimulationAndSynthesis</a>, 
<a class="el" href="namespace_system_sharp_1_1_components.html#a1de281d1523ed9fa0978891f329163fca07eff4fd7402752ac24ca79d98205ce1">SystemSharp.Components.EComponentPurpose.SimulationOnly</a>, 
<a class="el" href="namespace_system_sharp_1_1_components.html#a1de281d1523ed9fa0978891f329163fca9cc878b4014a4e9da8b4d5ff42a73a37">SystemSharp.Components.EComponentPurpose.SynthesisOnly</a>
 }</td></tr>
<tr class="memdesc:a1de281d1523ed9fa0978891f329163fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hint on component usage  <a href="namespace_system_sharp_1_1_components.html#a1de281d1523ed9fa0978891f329163fc">More...</a><br/></td></tr>
<tr class="separator:a1de281d1523ed9fa0978891f329163fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_bb5e995590685548b7e11478911ee7c3.html">SystemSharp-Google-SVN</a></li><li class="navelem"><a class="el" href="dir_8deefa4467a62b572b52d238d562b104.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_0e5a72156f8560bbc472a395da2569d6.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_9d3c30b4336bd92c64ccf0aeee487ace.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_2796d14d34df7db36a6563efa1efe523.html">Components</a></li><li class="navelem"><a class="el" href="_components_attributes_8cs.html">ComponentsAttributes.cs</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:46 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
